A modern day printer is typically connected to multiple client devices (e.g., computers) through a network. The client devices have applications (e.g., word processing applications, spreadsheet applications, graphic art applications, etc.) and (typically) device drivers that enable the work product of the applications to be printed on the printer. The printing of such a work product on a printer typically involves the passing of a “job ticket” from the client device that generates the work product to the printer.
A job ticket is a high level description of the properties of the print out to be made. A job ticket typically defines the number of physical pages to be printed, whether the print out is to be single sided or double sided, the margins on the pages, the font size of the matter that is printed on the pages, the printer tray that the paper the work product is to be printed on is to be selected from, the paper bin that the finished printout is to be binned into and any post-processing procedures (e.g., collation, stapling, etc.). Many job tickets are written according to the Job Definition Format (JDF) standard published by CPI4 (the International Cooperation for the Integration of Processes in Prepress, Press and PostPress Organization). The JDF specification provides for the definition of parameters like those just mentioned above in an XML format.
Modern day printers also include one or more processers and associated memory to store and execute program code locally on the printer. Much of this software is used to control the internal operations of the printer. One such control operation is to produce a “print job” from a job ticket and a series of pages produced, e.g., by the application software that generated the matter to printer (e.g., a word processing application, a spreadsheet application, etc.). A print job is a “sheet-by-sheet” specification of the matter to be printed. A sheet includes a corpus of information used by the printer to print a physical piece of paper according to the job ticket. There is typically one sheet per physical piece of paper that is printed irrespective of whether the piece of paper is printed single sided (e.g., “a page per sheet”, multiple pages printed on a single side of paper, etc.) or double-sided (“two pages per sheet”, multiple pages printed on each of both sides of a piece of paper, etc.).
Thus whereas a JDF job ticket describes the print out more generally, after the job ticket is applied to the series of pages, a “print-job” that is akin to a collection of data sheets is created that separately defines the characteristics of each of the printed pieces of paper of the document.
For example, if a first chapter of a document is to be printed on yellow paper in 12 point font and a second chapter of a document is to be printed on blue paper in 14 point font, the JDF job ticket might specify the range of the first chapter and that the pages within this range are to be printed from the tray having yellow paper in 12 point font as well as the range of the second chapter and that the pages within this range are to be printed from the tray having blue paper in 14 point font.
When the printer receives the JDF job ticket it essentially forms the print job by applying the JDF job ticket to the series of pages to create a separate sheet for every piece of paper to be printed out and storing these sheets in memory. Thus, there will be stored in memory separate sheets for every page of the first chapter and separate sheets for every page of the second chapter. While the printer is in the act of printing the document, it refers to the sheets (e.g., in sequence) to understand the properties that the corresponding physical pieces of paper are to be printed according to.